Method for determining the quality of a data transmission

ABSTRACT

A method for data transmission includes determining whether a data transmission limit value is infringed during a transmitting, over a network, of first data for a first receiver. In response to an infringement of the data transmission limit value during the transmitting: interrupting the transmitting of the first data; replacing the transmitting of the first data by a transmitting of second data for the receiver: and discarding the first data.

FIELD OF THE INVENTION

The present invention relates generally to the transmission of databetween computer systems over a network, such as for example between theserver of an Internet provider and a computer system of a user of theInternet provider's services over the Internet. In particular thepresent invention relates to a method for ascertaining the quality ofsuch data transmissions.

BACKGROUND OF THE INVENTION

When transmitting data over a network, such as for example the Internet,a key variable for transmission quality is the speed with which data aretransmitted from the sending computer system to the receiving computersystem. Data transmission speeds or rates are affected by, inter alia,the minimum bandwidth of the transmission route between the two computersystems involved and by the computer systems themselves, in particularby the receiving computer system.

In view of the increasing quantities of data which are for exampletransmitted over the Internet to computer systems of internet users,this variable is becoming increasingly more important. In particularfrom the point of view of an Internet user it is desirable that nodelays perceptible to the Internet user occur in the transmission ofdata from the Internet. In order to prevent such undesired effects forthe user it is at present customary, for example in the Internet sector,to limit graphics to be shown on web pages, especially advertisingmedia, in respect of the data needed for them. For example, advertisingmedia in the form of banners are currently limited to data quantities ofup to 20 KB. This in turn has the disadvantage that, continuing withthis example, it is not possible for advertisers to use high-quality,high-definition, animated graphics, video sequences and music of highquality, which are communicated over the Internet.

One possibility of optimizing data transmissions over a network takingaccount of the technical properties of an available transmission routeis to communicate corresponding information, before a data transmission,from a computer system to which data are to be transmitted to thecomputer system sending the data. The disadvantage here is that, if suchinformation is not sent, data transmissions cannot be optimizedaccordingly. Further, it is usually necessary for a user of the computersystem proposed for reception to enter this information into same andtransmit it to the sending computer system under user control.

In the field of the Internet it is also known to adapt datatransmissions by using the IP address of a computer system proposed forreception to check which technical properties will be present withregard to data transmissions on the part of the computer system, inorder to enable identification of “fast users”. Generally “fast users”IP addresses supplied by Internet providers (e.g. Internet users with aDSL modem) are used, but the supply and use of these incur a cost.

This procedure, also called IP targeting, also has the disadvantage thatthe corresponding technical properties of the computer system proposedfor reception can often not be inferred using an IP address. IPaddresses are in fact not necessarily allocated to a specific Internetuser, but an IP address can be allocated successively to various users.If, for example, many Internet user access the Internet by means of aDSL modem, it is customary, due to the limited number of available IPaddresses, to allocate to these users IP addresses which are actuallyprovided for Internet users with slow modems. In such a case an Internetuser with a fast modem cannot be recognized as such.

A further disadvantage is that the transmission properties of anavailable transmission route can often not be inferred using an IPaddress. Thus, for example, an IP address does not indicate whichbandwidth is available for data transmission on the part of the networkand how a computer system proposed for reception is utilized. In thecase of the above-named example of advertising banners this can, forexample, lead to an Internet user [who] has been identified as a “fastuser” on the basis of his IP address receiving a large advertisingbanner, i.e. a banner based on a large quantity of data, although thebandwidth available is not sufficient for this; consequently thebuild-up of the advertising banner on this Internet user's monitor willbe delayed.

A system is proposed in U.S. Pat. No. 6,243,761 B1 in which a decisionas to which files are to be transmitted is made after measuring thetransmission rate.

In US 2001/0010059 A1 a test file is transmitted in order to measure thetransmission rate. Thereafter it is decided which file is to betransmitted.

According to US 2002/011658 A1 the bandwidth is determined which isavailable for data transmissions over the Internet between a server anda computer system of an Internet user to whom the data are to betransmitted.

Here, in a first step, a first quantity of data is transmitted to thecomputer system and the period of time necessary to completely send thisquantity of data from the server to the computer system is measured. Thebandwidth is then determined from the period of time necessary totransmit the quantity of data. If the thus-determined bandwidth issufficient for example to show a high-resolution graphic in a wayacceptable to the Internet user, i.e. quickly enough to display it onthe computer system, a first software application which is suitable forthis representation is selected and executed on the computer system.

If the thus-determined bandwidth is not sufficient, in a second step asecond quantity of data is transmitted from the server over the Internetto the computer system and the bandwidth determined anew. If thebandwidth determined in the second step is sufficient for example toreproduce a lower-resolution graphic on the computer system, a secondsoftware application suitable for this is chosen and executed on thecomputer system.

If the bandwidth ascertained in the second step is not sufficient, thebandwidth can be determined anew using a third quantity of data, inorder to either execute a third software application suitable for thisor carry out another bandwidth measurement.

If a software application has been selected on the computer systemaccording to the last-determined bandwidth, the data to be reproducedwith the selected software application are transmitted from the serverto the computer system.

This procedure has several disadvantages. An essential aspect of thisprocedure is to ascertain the bandwidth provided by the network. Inorder to achieve this, further factors which can influence the period oftime needed to transmit the quantities of data used to determine thebandwidth are taken into account so that the period of time used todetermine the bandwidth essentially corresponds to the actual durationof transmission over the Internet, based on the bandwidth availablethere.

This can lead, on the basis of a last-determined bandwidth, to asoftware application being chosen and executed on the computer system,and data transmitted to the computer system which are suitable in thelight of the last-determined bandwidth but unsuitable for other reasons,because for example they lead to a duration that is unsatisfactory forthe Internet users when showing the transmitted data. This can be thecase for example if, on the one hand, a high bandwidth is available fordata transmission, on the other hand the computer system cannot processthe received quantities of data quickly enough; this can be caused inparticular by a method used with the computer system for the temporarystorage of received data (“caches”).

Furthermore it is necessary in this procedure, on the one hand todetermine the bandwidth and, on the other hand, then transmit the datachosen according to the bandwidth.

According to US 2001/0044835 A1 the bandwidth in the case of a datatransmission which is available for a data transmission between a serverand a computer system of an Internet user is determined. The contents tobe transmitted or quantities of data to be transmitted to the computersystem of the Internet user, corresponding to them, are chosen accordingto the determined bandwidth. To determine the bandwidth, a predeterminedquantity of data is transmitted from the server to the computer systemand the duration of transmission necessary for this measured. Thepredetermined quantity of data used comprises data necessary exclusivelyto measure the bandwidth; data reproducing contents to be transmittedare not transmitted.

According to WO3/007171 A1, comparable with the last-named method, thebandwidth is ascertained which is available for data transmissionsbetween a server and a computer system of an Internet user. It isproposed in particular to transmit test data from the server to thecomputer system over a signal path whose bandwidth is to be determined.Thereafter, in a step separated from the bandwidth measurement, contentsproposed for the Internet user are transmitted which are chosenaccording to the determined bandwidth.

There is a disadvantage in the last-named approaches in that changes ofthe available bandwidth can no longer be taken into account after thebandwidth has been determined. This can, for example, lead to dataproposed according to a specific bandwidth for transmission beingtransmitted but a bandwidth being available upon their transmissionwhich differs from the determined bandwidth so that the originallysuitable data become unsuitable data.

There is also a disadvantage in the above-named approaches in that theyare executed merely according to characteristics, i.e. in particular thebandwidth, of a transmission route between a server and a computersystem of an Internet user. Other factors which can influence thequality of such data transmissions are not taken into account.

OBJECT OF THE INVENTION

The object of the present invention is to provide solutions to optimizedata transmissions over a network, in particular over the Internet, withregard to the data-transmission quality available. In particular thepresent invention is to make it possible to execute these in the case ofdata transmissions over a network such that they are executed accordingto an actually present data-transmission quality.

BRIEF DESCRIPTION OF THE INVENTION

To achieve this object the present method provides a method in which atransmission of first data for a receiver is interrupted and replaced bya transmission of second data for the receiver and the first data arediscarded if a data transmission limit value is infringed during thetransmission of the first data.

By the first and second data for the receiver are meant useful data,i.e. data which are proposed for actual utilization on the part of thereceiver. The receiver can be a computer system to which the first andoptionally the second data are transmitted, a user of a computer systemreceiving the data and also a computer system receiving the data and auser of same in combination.

The first and second data are in particular one or more files or a datapacket for actual use on the part of the receiver, i.e. useful data. Itis particularly preferably a graphic file such as for example anadvertising banner.

To illustrate the importance of the first and second data for thereceiver, reference is made to known methods which, as described above,for example transmit a predetermined quantity of data or test data overa network in order to determine a bandwidth available during a datatransmission. The data used with these known methods are not onlyproposed for a receiver as such, but serve another purpose, for exampleascertaining a bandwidth; these data do not comprise data desired orrequired for the operation of a receiving computer system (e.g. softwareapplications to be executed on the computer system, information to bereproduced, graphics, text, etc.) and data can be used by a user of areceiving computer system.

Contrary to this, the first and second data for the receiver comprisedata which can be used by a receiving computer system and/or its user.Apart from data of the first and second data which for example arerequired for the transmission over the network or by a receivingcomputer system to process the first and second data, the first andsecond data for the receiver can be seen as data which comprise“exclusively” data which can actually be used by a receiving computersystem and/or its user; accordingly the first and second data for thereceiver can be seen as data which for example consist of a softwareapplication or text and/or image information to be executed on areceiving computer system which are made available to a user on amonitor of a receiving computer system.

By a data transmission limit value is meant in the following for examplea variable which characterizes the quality of a transmission of dataover the network. The data transmission limit value can for example be athreshold value, the infringement of which indicates that the quality ofthe data transmission over the network is not sufficient for thetransmission of the first data. Instead of a threshold value, the datatransmission limit value can also indicate a range, the infringement ofwhich indicates an insufficient data-transmission quality in respect ofthe first data.

If the data transmission limit value indicates a threshold value, aninfringement of the data transmission limit value is to be taken to meanthat the threshold value has not been reached and that it has beenexceeded. If the data transmission limit value indicates a range, aninfringement of the data transmission limit value occurs if thetransmission of the first data is executed with a quality which isinside of the range or outside the range.

The method according to the invention has several advantages. Datatransmissions over a network are executed not only according to thetransmission route used for data transmission. Rather, the presentinvention allows data transmissions over a network to be executed takingaccount of the available data-transmission quality. Overall, with themethod according to the invention it is no longer necessary to use dataspecifically proposed for ascertaining a data-transmission quality, forexample in the form of test data. Rather, with the method according tothe invention, the data, namely the first data which serve forutilization on the part of the receiver, are also used to ascertain thedata-transmission quality.

Another advantage of the present invention is that that ascertaining ofa data-transmission quality does not take place at a separate time fromthe transmission of data which are proposed for a receiver. Rather, withthe method according to the invention, the ascertaining ofdata-transmission quality and the transmission of data proposed for areceiver are carried out at the same time. It is possible with themethod according to the invention, during a transmission of dataproposed for a receiver, to obtain a “snapshot” of the currentdata-transmission quality.

In a preferred version the transmission of the data is continued if thedata transmission limit value is not infringed. This has the advantagethat the period of time needed to transmit the first data completely isnot delayed by a previously executed transmission of data forascertaining a data-transmission quality.

In order to more finely adapt data transmissions to the presentdata-transmission quality it is proposed to predefine at least two datatransmission limit values. The indications made above with regard to thedata transmission limit value apply accordingly to these at least twodata transmission limit values. It is proposed that at least two seconddata are predefined. During transmission of the first data it is thenchecked which of the at least two data transmission limit values isinfringed. Depending on which of the at least two data transmissionlimit values is infringed, the second data are selected from the atleast two second data which are suitable in respect of the infringeddata transmission limit value.

This procedure makes it possible, by checking the data-transmissionquality, namely upon the initial transmission of the first data, to moreprecisely ascertain the existing data-transmission quality. If, forexample, a high number of closely-spaced data transmission limit valuesis chosen, the data-transmission quality can be determined as preciselyas desired. If for example only first first or second data arecompletely transmitted, it is sufficient in principle to define merelyone transmission value. If information about the existingdata-transmission quality are also to be used or if more preciseinformation about the existing data-transmission quality is desired itis advantageous, also when using merely first and second data, topredefine more than one data transmission limit value.

It is possible, for example, to predetermine a first and a second datatransmission limit value and allocate first second data or second seconddata to these. If it is noted during transmission of the first data thatthe first data transmission limit value is infringed, the first seconddata are transmitted after the transmission of the first data has beeninterrupted. If the second data transmission limit value is infringed,the second second data are transmitted after the transmission of thefirst data has been interrupted.

In one version, there can be an infringement of the data transmissionvalue if, during the transmission of the first data, within a predefinedperiod of time, a quantity of data is transmitted which is smaller thana predefined quantity of data.

In another version, there can be an infringement of the datatransmission limit values if a period of time needed to transmit apredefined quantity of data comprised by the first data is not reached.

The infringement of the data transmission limit value can indicate forexample that the available data-transmission quality is not sufficientto transmit the first data in the desired form, i.e. thedata-transmission quality is not sufficient to transmit the first dataquickly enough.

As, upon the infringement of the data transmission limit value it is notthe first data as a whole, but merely a predefined quantity of data thatis taken as the basis, it is also not necessary to completely transmitthe first data in order to determine the data-transmission quality.Rather, the data-transmission quality can be ascertained very quickly,for example so that, if the transmission of the first data isinterrupted, a receiver for the first data cannot be aware of this.

In these cases the first data as a whole preferably comprise a greaterquantity than the second data.

As an alternative to the first of the two last-named versions, it isproposed that there is an infringement of the data transmission limitvalue if, during transmission of the first data, within a predefinedperiod of time a quantity of data is transmitted which is greater than apredefined quantity of data.

As an alternative to this, it is proposed that there is an infringementof a data transmission limit value indicates that, during transmissionof a first predefined quantity of data comprised by the first data, apredefined period of time has not been reached.

In these cases, in the second alternative the first data as a wholecover a smaller quantity of data than the second data.

Preferably the first data indicate a first banner and the second data asecond banner. It is also possible that the predefined quantity of dataof the first banner and the second data in combination with thepredefined quantity of data indicate a second banner.

By a banner is meant in the following graphic items of information whichare represented in the reproduction of a current web page on a monitorof a computer system used to access the current web page. Banners areembedded in HTML documents used for web pages and can be represented invarious variables and in various ways.

Standardized banner sizes comprise so-called full-size banners measuring468*60 pixels but the so-called half-size banner measuring 234*60 pixelshas now been abandoned. However, some other sizes have proved to beparticularly suitable and are preferably used, such as e.g. theso-called Big Size banner measuring 728*90 pixels.

A distinction is also drawn between animated and static banners.Animated banners can be based on data in GIF format and/or be producedby means of the software program known under the trade name Flash®and/or by using the graphic format known under the trade nameShockwave®. Colloquially, banners are often generically called Flashbanners, which is why in the following this term covers not only bannersproduced with the Flash® software program but also comparable banners.

When the first data comprise a greater quantity of data than the seconddata the first banner can be larger than the second banner. The sameapplies when the first data comprise a smaller quantity of data than thesecond data. It is preferred that, if the data-transmission quality isinadequate from the point of view of the receiver, the second bannerserve as a replacement for the first banner or vice versa.

Data which characterize the infringed data transmission limit value arepreferably stored. A so-called cookie, which is stored on a receivingcomputer system, or comparable means (i.e. data and process), can beused for this for example. Storage of the data indicating the infringeddata transmission limit value can alternatively or additionally takeplace on a computer system from which the first data are transmitted.

In a preferred version of the method according to the invention, datafrom a so-called server can be transmitted over the network to aso-called client in order to transmit the first data and, if at allnecessary, to transmit the second data.

In particular it is provided that an adserver is used as server. Byadserver is meant a computer system which controls advertisements whichare to be shown using web pages. An adserver controls for example theweb pages on which banners are to appear, the frequency with whichadvertisements are to be executed etc.

In a preferred version of the last-named versions the method accordingto the invention is executed with server control. In this case it isalso preferred that a so-called servlet is used to execute the methodaccording to the invention.

In another preferred version of the last-named version the methodaccording to the invention is executed with client control, a webbrowser and/or a plug-in being able to be used here.

It is preferable in particular that when executing the method accordingto the invention the first data and optionally the second data aretransmitted over a network which includes the Internet.

If the method according to the invention is carried out with servercontrol the first data and optionally the second data can be transmittedfrom the server to the client. In this way it is possible, in additionfor example to the bandwidth available on the transmission route betweenthe server and the client, also to consider variables which areconditioned by technical properties and/or operating statuses of theserver and can influence data-transmission quality.

The use of the client to execute the method according to the inventionshas the advantage that, in addition to the bandwidth provided by thetransmission route between the server and the client, variables aretaken into account which are due to technical properties and/oroperating statuses of the server and which can influence thedata-transmission quality. It is possible for example that the bandwidthprovided by the transmission route between the server and the client issufficient to transmit the first data in desired ways. However, if theclient is not able to process received portions or data quantities ofthe first data quickly enough, for example, the received data cannot berepresented quickly enough, this leads to an infringement of the datatransmission value although the data-transmission quality is adequate.As, in this case, the data-transmission quality is impaired by theclient himself, this could only be established by the server at a highcost if at all; this would lead to delays in data transmissions betweenthe server and the client.

The present invention also provides a computer-program product whichincludes program-code parts for executing one, more or all of theabove-described versions of the method according to the invention.

The computer-program product according to the invention preferablycomprises program-code parts which can be executed as JavaScript®, asJscript® or in a form compatible therewith.

BRIEF DESCRIPTION OF THE FIGURES

Reference is made in the following description of preferred versions tothe attached figures in which are shown:

FIGS. 1 to 4 schematic representations of preferred versions of themethod according to the invention.

DESCRIPTION OF PREFERRED VERSIONS

Preferred versions are described in the following using the example of ascenario in which banners are to be transmitted from a server to acomputer system.

Customarily, a banner is transmitted from a server to a computer systemwith control of data which for example are present in the form of anHTML file which is embedded in the data of a web page which is accessedby means of the computer system. Alternatively, it is possible that abanner is transmitted from the server to the computer system in responseto an input on the part of the user of the computer system. Such eventsare described in the following as triggering events.

In order to avoid the problems named at the start, in the customaryprocedure banners are used which must not exceed a predefined variableor quantity of data, in order, during the transmission of banners andtheir representation by means of the computer system, to avoid undesireddelays for the user. Therefore, in response to a triggering event whichinitiates the execution of an advertisement, the same banner is alwaystransmitted, regardless of the computer system by which this event istriggered.

In the versions described below the triggering events are used whichalso lead to the transmission of banners with the customary procedure,e.g. “web page”-controlled or user-controlled prompting of banners.Therefore, to apply the present invention, apart from its use, nomodifications of the customary procedures and the methods associatedtherewith are necessary.

However, with the present invention, in response to a triggering eventwhich is to lead to the execution of an advertisement, the same bannersare not transmitted to a requesting computer system as default. Rather,the present invention makes it possible to transmit different bannersdepending on the current data-transmission quality between the serverand the computer system.

This has several advantages.

In order to check which banner is actually to be transmitted to thecomputer system, the data-transmission quality which is available duringthe transmission of banner data is determined.

Furthermore, delays which occur with the above-described use of testdata and the like can be avoided by the present invention. If the limitvalue is not in fact infringed during the transmission of the data forthe first banner, the transmission of the data for the first banner iscontinued. Accordingly in this case the first banner is transmitted withno delay.

If the limit value is infringed during transmission of the data of thefirst banner delays to the second banner can be avoided by a rapidinterruption of the data transmission for the first banner, thuschoosing the smallest possible period of time during which thedata-transmission quality is determined.

Another optimization is possible if one or more of the versionsdescribed below are used, depending on what data-transmission qualitybetween the server and the computer system is to be expected.

If it is to be assumed for example that there is a highdata-transmission quality, a version can be used which in the first stepeffects a transmission of a large banner which is then normallytransmitted wholly without time delay. Only when the assumeddata-transmission quality is not available is the transmission of asmall banner initiated. Accordingly this applies when a lowdata-transmission quality is to be assumed.

These procedures can also be combined if for example a highdata-transmission quality is initially to be assumed, but it is found induring data transmissions between the server and the computer systemthat the data-transmission quality present is inadequate, thus leadingmore than once, frequently or regularly to the interruption of datatransmission for first banners. In order to avoid the delays resultingfrom this during data transmissions for second banners, a version of thesoftware application can then be used which in the first step prompts asmall banner in each case and effects a transmission of large bannersonly if the data-transmission quality is sufficient for same. The sameapplies accordingly when a low data-transmission quality is initially tobe assumed.

In order to be able to exploit these possibilities, it is advantageousif the various versions of the software applications needed for thispurpose are present on the computer system in order that they can beexecuted depending on the available data-transmission quality.

To illustrate the versions described here, reference is made to anapplication of the present invention in the field of the Internet andthe following assumptions made:

-   -   A computer system communicating over the Internet of a user        which features a web browser and plug-in for so-called Flash®        banners (see below) is used as client.    -   The plug-in prompts from a server (see below) an SWF® software        application programmed in Flash® MX which is compatible with        version 5 of Flash® and comprises software code for executing        the method according to the invention.    -   An adserver of an Internet service provider is used to control        advertisements proposed for the user that are to be shown on a        monitor of the computer system in the form of banners.    -   Data for banners are transmitted from an image server of one or        other Internet service provider to the computer system.

Because of their capacity to ascertain the data-transmission qualitybetween the image server and the computer system, the softwareapplication can also be called a “speed sniffer”.

The software application is transmitted to the computer system bysending data, e.g. in the form of a HTML Javascript file, during theexecution of the web browser on the computer system from a server to thecomputer system, which cause the software application to be prompted andtransmitted to the computer system. This takes place for example by aninquiry from the plug-in of the computer system to the image server,which in response transmits the software application to the computersystem.

In the versions described here, the software application contains thefollowing software code: <SCRIPT LANGUAGE=“JavaScript1.1”> var clickurl= “http://web.de” if (showFlashStatus( )) { document.writeln(‘<embedsrc= “http://www.web.de/sniffer.swf?data_1=http://www.web.de/dsl200×300.swf &bytes=BySec &data_2=http://www.web.de/isdn200×300.swf” quality=QLtype=“application/x-shockwave-flash” width=“W” height=“H”> </EMBED>’);FlashOk = true; } function ClickThru( ) { window.open(clickurl); }</SCRIPT>

The following applies for variables of the software code: data_1: Refersto a first flash file that serves to display a first banner on themonitor of the computer system. data_2: Refers to a second flash filethat serves to display a second banner on the monitor of the computersystem. BySec: Defines a limit value in bytes per second upon theinfringement of which the transmission of the first flash file isinterrupted and the second flash file is transmitted.

In general, the method according to the invention proceeds as follows:

If an advertisement in the form of a banner that can be shown on themonitor of the computer system is to be executed for the user of thecomputer system, contrary to the conventional procedure, this does nottake place by a transmission of a default banner from the image serverto the computer system. Rather, the execution of the advertisement iscontrolled here by the software application so that banners are useddepending on the data-transmission quality that is available during thetransmission of banner-reproducing data from the image server to thecomputer system.

The software application ascertains, using the above software code, alsocalled action script, the data-transmission quality between the imageserver and the computer system in bytes per second. Depending on thedata-transmission quality, it is then determined which banners (flashfiles) are transmitted to a computer system so that the correspondingbanner can be reproduced there as desired.

In response to an event that is to initiate the transmission of abanner, the software application is executed which in a first stepeffects the transmission of the first banner data_(—)1 from the imageserver to the computer system.

If it is established during this transmission that, within apredetermined period of time, e.g. one, two or more seconds, a quantityof data is transmitted from the image server to the computer systemwhich is smaller (larger) than the quantity of data predefined by thelimit value BySec, the software application interrupts the transmissionof the first banner and effects the transmission of the second banner.The second banner is then transmitted in full to the computer system andcan be reproduced on its monitor.

If it is established within the predetermined period of time that thequantity of data transmitted from the image server to the computersystem is larger (smaller) that the quantity of data predefined by thelimit value BySec, the transmission of the first banner is notinterrupted, but executed in full; the first banner can then bereproduced on the monitor of the computer system.

Alternatively, in order to determine the data-transmission quality, itis possible to define a predetermined quantity of data and record thetime required to transmit this quantity of data during the transmissionof the data for the first banner.

If it is established, during the transmission of data for the firstbanner, that the predefined quantity of data is transmitted from theimage server to the computer system within a period of time that islarger (smaller) than a period of time predefined by a time-relatedlimit value, the software application interrupts the transmission of thefirst banner and effects the transmission of the second banner. Thesecond banner is then transmitted to the computer system in full and canbe reproduced on its monitor.

If, during the transmission of data for the first banner, a period oftime which is smaller (larger) than the predefined period of time isrequired for the transmission of the predefined quantity of data, thetransmission of the first banner is not interrupted, but executed infull; the first banner can then be reproduced on the monitor of thecomputer system.

Here, a functionality provided by Flash® is used which makes it possibleto interrupt the transmission of data for banners that is known asloading. This functionality is called “Unload Movie” and allows arequest to load a banner to be interrupted during processing (“on theflight”).

In tests, quantities of data that are transmitted within a predefinedperiod of two seconds were determined for computer systems that cancommunicate over the Internet via a DSL modem. An average value of195,455 bytes within two seconds was ascertained, the worst ascertainedvalue being approx. 110,000 bytes within two seconds.

With reference to FIG. 1, the version is described in which in the firststep the transmission of data for a large banner is initiated andoptionally data for a small banner are transmitted.

If an event occurs that initiates the execution of an advertisement bymeans of a banner to be displayed on a computer system (step 1), thesoftware application is executed (step 2). The software application thenasks the image server for data of a large banner provided for theadvertisement to be executed (step 3).

During the transmission of data for the large banner it is checkedwhether data transmitted within the predetermined period of time afterstart of transmission account for at least a predetermined quantity ofdata, i.e. a quantity of data per time above the limit value BySec istransmitted (step 4).

If this is the case, the transmission of the data for the large banneris continued (step 5). Otherwise, the transmission of data for the largebanner is interrupted (step 6) and data requested from the image serverof a small banner provided for the advertisement to be executed (step 7)in order to transmit same to the computer system (step 8).

In the version shown in FIG. 2, steps 1 to 3 correspond to steps 1 to 3of the version of FIG. 1. However, in the version of FIG. 2, the step 4described with reference to FIG. 1 is executed in respect of at leasttwo limit values BySec1, . . . , BySecn. Furthermore, in this version,in addition to the large banner requested in step 3, at least two smallbanners of different variables are used.

For simplicity's sake, it is assumed that the largest limit value BySec1corresponds to the limit value of the version of FIG. 1 and the otherlimit values BySec2, . . . , BySecn have different, ever-decreasingvalues. It is furthermore assumed below that the at least two smallbanners are each allocated to one of the limit values BySec1, . . . ,BySecn, the largest small banner corresponding to the small banner ofthe version of FIG. 1 and all further small banners having different,ever-decreasing variables.

In step 4 it is checked whether and, if so, which of the limit valuesBySec1, BySecn is infringed during the initial transmission of the datafor the large banner.

If none of the limit values is infringed, the transmission of data forthe large banner is continued (step 5). Otherwise, the transmission ofdata for the large banner is interrupted (step 6).

In the shown version it is checked, starting with the largest limitvalue BySec1 decreasing to the smallest limit value BySecn, which limitvalue BySec1, . . . , BySecn is infringed. Depending on the smallestinfringed limit value BySec1, . . . , BySecn, data of a banner ofcorresponding size provided for the advertisement to be executed arerequested by the image server (step 7) in order to transmit same to thecomputer system (step 8).

The version of FIG. 2 makes possible not only a more accuratedetermination of the data-transmission quality, but also a selection,optimized with reference to the existing data transmission quality, ofbanners to be transmitted in full.

With reference to FIG. 3, the version is described in which in the firststep the transmission of data for a small banner is initiated andoptionally data for a large banner are transmitted.

If an event occurs that initiates the execution of an advertisement bymeans of a banner to be displayed on the computer system (step 1), thesoftware application is executed (step 2). The software application thenasks the image server for data of a small banner provided for theadvertisement to be executed (step 3).

During the transmission of data for the small banner, it is checkedwhether the data transmitted within a predetermined period of time afterthe start of transmission account for at most a predetermined quantityof data, i.e. a quantity of data per time below the limit value BySec istransmitted (step 4).

If this is the case, the transmission of the data for the small banneris continued (step 5). Otherwise, the transmission of the data for thesmall banner is interrupted (step 6) and data of a large banner providedfor the advertisement to be executed requested by the image server (step7) in order to transmit same to the computer system (step 8).

In the case of the version shown in FIG. 4, steps 1 to 3 correspond tosteps 1 to 3 of the version of FIG. 3. However, in the version of FIG.4, the step 4 described with reference to FIG. 3 is executed in respectof at least two limit values BySec1, . . . , BySecn. Furthermore, inthis version, in addition to the small banner requested in step 3, atleast two large banners of different variables are used.

For simplicity's sake, it is assumed that the smallest limit valueBySec1 corresponds to the limit value of the version of FIG. 3 and theother limit values BySec2, . . . , BySecn have different,ever-increasing values. It is furthermore assumed below that the atleast two large banners are each allocated to one of the limit valuesBySec1, . . . , BySecn, the smallest large banner corresponding to thelarge banner of the version of FIG. 3 and all further large bannershaving different, ever-increasing variables.

In step 4 it is checked whether and, if so, which of the limit valuesBySec1, . . . , BySecn is infringed during the initial transmission ofthe data for the small banner.

If none of the limit values is infringed, the transmission of data forthe small banner is continued (step 5). Otherwise, the transmission ofdata for the small banner is interrupted (step 6).

In the shown version it is checked, starting with the smallest limitvalue BySec1 increasing to the largest limit value BySecn, which limitvalue BySec1, . . . , BySecn is infringed. Depending on the largestinfringed limit value BySec1, . . . , BySecn, data of a banner ofcorresponding variable provided for the advertisement to be executed arerequested by the image server (step 7) in order to transmit same to thecomputer system (step 8)

The version of FIG. 4 makes possible not only a more accuratedetermination of the data-transmission quality, but also a selection,optimized with reference to the existing data transmission quality, ofbanners to be transmitted in full.

In all versions, it is possible after an interruption of a transmissionof data for a first banner to discard the data transmitted up to thenand to transmit data that are required for the second banner as a whole.Alternatively, it is possible not to discard the data alreadytransmitted until the interruption, but to use it for the reproductionof the second banner. The second banner is to be designed such that itcan be constructed or reproduced from the data for the second bannercombined with data for the first banner; in particular a first quantityof data of the data for the first banner can be used that are to betransmitted first during transmission of the data for the first banner.

When establishing which and how many data of the data for the firstbanner are to be used in the second banner, an expecteddata-transmission quality can be used as a basis in order to ensurethat, after an interruption of a transmission of data for the firstbanner, the data required for the second banner have been transmitted.This is advantageous in particular if the version is used in which, todetermine the data-transmission quality, the quantity of datatransmitted during a predefined period of time is ascertained. But it ismore advantageous here to use the version in which, to determine thedata-transmission quality, the period of time for a transmission of apredefined quantity of data is ascertained. This in fact ensures that,during the transmission of data for the first banner, irrespective of aninterruption, a predefined quantity of data is always transmitted whichcan then optionally be used for the second banner; it is thus avoidedthat, because of an interruption of the transmission of data for thefirst banner, data are not transmitted that are required for the secondbanner.

In order to be able to revert to a data-transmission quality ascertainedat an earlier time, it is possible to save corresponding data. This cantake place e.g. by means of a cookie to be stored on the computersystem. This can be accessed in order to adapt subsequent datatransmissions from and to the computer system accordingly. This has theadvantage that, even in the case of data transmissions in which thepresent invention is not used, an optimization in respect of thedata-transmission quality can be carried out. Furthermore, dataindicating an ascertained data-transmission quality can be used in orderto infer an expected data-transmission quality and, as indicated above,to choose a corresponding version of the software application.

With the versions described above, it is provided to use the methodaccording to the invention for every advertisement to be executed. Thisis necessary on the one hand to adapt data transmissions to the existingdata-transmission quality and on the other hand has the advantage ofsimultaneously ascertaining the data-transmission quality availableduring data transmissions. By way of variation from this it is possibleto execute the method according to the invention at specific timesand/or at specific intervals and otherwise to adapt data transmissionsto the data-transmission quality on the basis of data that indicate apreviously ascertained data-transmission quality. Such data can bestored for example in the form of a cookie that makes it possible toascertain whether, and if so, what data-transmission quality has beenascertained and to determine whether, when and how often the methodaccording to the invention is to be applied.

The storage of data that indicate a previously ascertaineddata-transmission quality also allows several qualities of datatransmission ascertained with the method according to the invention tobe evaluated statistically in order to e.g. be able to make moreaccurate statements about an expected data-transmission quality.

1-23. (canceled)
 24. A method for data transmission, comprising:determining whether at least one data transmission limit value isinfringed during a transmitting, over a network, of first data for afirst receiver; and in response to an infringement of the at least onedata transmission limit value during the transmitting: interrupting thetransmitting of the first data; replacing the transmitting of the firstdata by a transmitting of second data for the receiver; and discardingthe first data.
 25. The method as recited in claim 24 further comprisingcontinuing the transmitting of the first data in response to the datatransmission limit value not being infringed during the transmitting.26. The method as recited in claim 24 wherein the at least one datatransmission limit value includes a first and a second data transmissionlimit value, and further comprising: predefining the first and seconddata transmission limit values; predefining a first and a second datumof the second data; and assigning the first datum to the first datatransmission limit value and assigning the second datum to the seconddata transmission limit value; wherein the determining whether the atleast one data transmission limit value is infringed includesdetermining which of the first and second data transmission limit valuesis infringed, and wherein the transmitting of the second data isperformed by transmitting the respective first or second datumcorresponding to the infringed first or second data transmission limitvalue.
 27. The method as recited in claim 26 wherein the first datumincludes a first data packet and the second datum includes a second datapacket.
 28. The method as recited in claim 24 wherein the infringementof the at least one data transmission limit value includes transmitting,within a predefined period of time, a quantity of data smaller than apredefined quantity of data.
 29. The method as recited in claim 28wherein the first data includes a greater quantity of data than thesecond data.
 30. The method as recited in claim 24 wherein theinfringement of the at least one data transmission limit value includesexceeding of a predefined period of time for transmitting a quantity ofdata of the first data.
 31. The method as recited in claim 30 whereinthe first data includes a greater quantity of data than the second data.32. The method as recited in claim 24 wherein the infringement of the atleast one data transmission limit value includes transmitting, within apredefined period of time, a quantity of data greater than a predefinedquantity of data.
 33. The method as recited in claim 32 the first dataincludes a smaller quantity of data than the second data.
 34. The methodas recited in claim 24 wherein the infringement of the at least one datatransmission limit value includes transmitting of a quantity of data ofthe first data in a period of time less than a predefined period oftime.
 35. The method as recited in claim 34 the first data includes asmaller quantity of data than the second data.
 36. The method as recitedin claim 24 wherein the first data corresponds to a first flash bannerand the second data corresponds to a second flash banner.
 37. The methodas recited in claim 24 further comprising, in response to theinfringement of the at least one data transmission limit value, storingdata characterizing the at least one data transmission limit value. 38.The method as recited in claim 37 wherein the stored data are stored ascookies.
 39. The method as recited in claim 24 wherein the transmittingof the first data is performed by transmitting the first data from aserver to a client.
 40. The method as recited in claim 39 wherein theinterrupting the transmitting of the first data is performed undercontrol of the server.
 41. The method as recited in claim 40 wherein theinterrupting the transmitting of the first data is performed using aservlet.
 42. The method as recited in claim 39 wherein the interruptingthe transmitting of the first data is performed under control of theclient.
 43. The method as recited in claim 42 wherein the interruptingthe transmitting of the first data is performed using a web browser. 44.The method as recited in claim 42 wherein the interrupting thetransmitting of the first data is performed using a plug-in.
 45. Themethod as recited in claim 43 wherein the interrupting the transmittingof the first data is performed using a plug-in.
 46. The method asrecited in claim 42 wherein the network includes the Internet.
 47. Acomputer readable medium having stored thereon computer executableprocess steps operative to perform a method for data transmission, themethod comprising: determining whether at least one data transmissionlimit value is infringed during a transmitting, over a network, of firstdata for a first receiver; and in response to an infringement of the atleast one data transmission limit value during the transmitting:interrupting the transmitting of the first data; replacing thetransmitting of the first data by a transmitting of second data for thereceiver; and discarding the first data.
 48. The computer readablemedium as recited in claim 47 wherein the method further comprisescontinuing transmitting of the first data in response to the datatransmission limit value not being infringed during the transmitting.49. The computer readable medium as recited in claim 47 wherein the atleast one data transmission limit value includes a first and a seconddata transmission limit value, and wherein the method further comprises:predefining the first and second data transmission limit values;predefining a first and a second datum of the second data; and assigningthe first datum to the first data transmission limit value and assigningthe second datum to the second data transmission limit value; whereinthe determining whether the at least one data transmission limit valueis infringed includes determining which of the first and second datatransmission limit values is infringed, and wherein the transmitting ofthe second data is performed by transmitting the respective first orsecond datum corresponding to the infringed first or second datatransmission limit value.
 50. The computer readable medium as recited inclaim 47 wherein the computer executable process steps include at leastone of a JavaScript®, a Jscript®, a program compatible with JavaScript®,and a program compatible with Jscript®.